1. Field
One or more embodiments of the following description relate to a multiprocessor system and a migration method of the multiprocessor system that may process dynamic data and static data of a task to be performed in another memory or another processor without converting pointers, in a distributed memory environment and in a multiprocessor environment having a local memory.
2. Description of the Related Art
As applications such as multimedia being processed in real-time increase, demand for improvement of system performance for computing devices is increasing. Moreover, it becomes difficult to efficiently and rapidly process an application using only a single processor. Due to such a challenge, multiprocessor computing technologies have emerged along with development of semiconductor integration technologies. Multiprocessors provide many advantages in energy efficiency and performance improvement, compared with single processors.
To obtain more suitable performance in a multiprocessor computing environment, tasks may be executed sequentially or in parallel, depending on the task.
An information device using a multiprocessor may include, for example, a personal portable terminal, a server, a mobile phone, a mobile computer, a Set-Top Box (STB), or a digital video device. The information device may be a main part of a future embedded system. Additionally, the information device needs to have a function of enabling various applications to be executed in a single device in response to user requests.
Various types of multiprocessor systems are being proposed to improve performance of an embedded system. A multiprocessor system has a hierarchy memory structure, which includes a private memory to execute tasks and a shared memory to enable different processors to share data.
The hierarchy memory structure may cause a difference in response characteristics between memories due to discontinuousness and location of memories. Such problems are to be solved to support task migration between processors.
Furthermore, a processor used in the embedded system is generally not able to use a Memory Management Unit (MMU) to provide a virtual memory environment due to limitations in a core size and power consumption.
Therefore, there is a demand for a method and system to change a location where static data and dynamic data of a task are to be executed in a multi-core system where an MMU is not included, rather than pointers being converted.